# a b c : 形参,固定参数
def test(a=1,b=2,c=3):
    print('this is test',a,b,c)


# 位置传参(实参)
test("a","b","c")

# 关键字传参(实参)
test(c="c")

# 混合传参 (实参) (位置在前,关键字在后)
test("a",c="c")

# 额外参数 (要么全是位置传参,要么全是关键字传参)
# 全是位置传参时,额外的参数会被收集到args元组中
# 全是关键字传参时,额外的参数会被收集到kwargs字典中
def test2(a=1,b=2,c=3,*args,**kwargs):
    print('this is test2',a,b,c,args,kwargs)

test2("a",1,2,3,4,5,6,7,7,8)

test2(a=1,b=2,c=3,d=4,e=5,f=6,g=7)

test2("a",1,2,3,4,5,6,7,7,8,d=4,e=5,f=6,g=7)
